perm filename SORT.VRP[TIM,LSP] blob
sn#617897 filedate 1981-10-12 generic text, type T, neo UTF8
(DEFINEQ (DCONS (A B C)
(CONS (CONS A (CAR C)) (CONS B (CDR C))))
(SPLIT (A)
(COND
((NULL A) (CONS NIL NIL))
((NULL (CDR A)) (CONS A NIL))
(T (DCONS (CAR A) (CADR A) (SPLIT (CDDR A))))))
(←MERGE (A B)
(COND
((NULL A) B)
((NULL B) A)
((NOT (GREATERP (CAR A) (CAR B)))
(CONS (CAR A) (←MERGE (CDR A) B)))
(T (CONS (CAR B) (←MERGE A (CDR B))))))
(←SORT (A)
(PROG (X)
(SETQ X (SPLIT A))
(RETURN (COND
((LESSP (LENGTH A) 2) A)
(T (←MERGE (←SORT (CAR X)) (←SORT (CDR X))))))))
(RAND ()
(REMAINDER (SETQ SEED (TIMES SEED 30479)) 32768))
(RANDL (N)
(COND
((ZEROP N) NIL)
(T (CONS (RAND) (RANDL (SUB1 N))))))
(RUN ()
(PROG (I X)
(SETQ I 0)
(SETQ FORMULA (RANDL 400))
START (←SORT FORMULA)
(COND ((LESSP (SETQ I (ADD1 I)) 50) (GO START))))
(PRINT (←SORT FORMULA))))
(SETQ SEED 12345)
STOP